Модуль:Animal
local p = {} local arrData = mw.loadData( 'Module:DataAnimal' ) --Список животных--* function p.animalList(frame) local tp = frame.args1 data={} local i=1 for k, v in pairs(arrData) do if v.tp tp then datai={name=v.name, res=v.res} if v.res '' then datai.res='-' else datai.res=''..v.res..'' end if v.buy~=0 then datai.buy=v.buy else datai.buy=v.buyagro..'15px' end if v.tm 0 then datai.tm='-' else datai.tm=v.tm end if v.sell 0 then datai.sell='-' else datai.sell=v.sell end if v.nameprod '' then datai.prod=v.name else datai.prod=v.nameprod end if v.corall~='' then datai.corall=''..v.corall..'' else datai.corall='-' end i=i+1 end end table.sort(data,function( a, b ) return a.name < b.name end ) local total=0 local text="" for k, v in pairs(data) do text=text.."".. "30px"..v.name.."".. ""..v.buy.."".. ""..v.prod.."".. ""..v.sell.."".. ""..v.tm.."".. ""..v.res.."".. ""..v.corall.."".. "" total=total+1 end return " Всего: "..total.." ".. " ".. " Животные ".. " Покупка 15px ".. " Продукт ".. " Продажа 15px ".. " Рост, часы ".. " Корм ".. " Загон ".. " "..text.. " " end --Карточка животного-- function p.animal( frame ) local id = frame.args1 local text='' text=text..' [['..arrDataid.tp1..']] / [['..arrDataid.tp..']] / '..id..' '.. ' Общие сведения '.. ' 200px '.. ' [[Файл:'..arrDataid.nameprod..'.png|50px]] '..arrDataid.nameprod..' '.. ' Рост: �� '..arrDataid.tm..' час., доход: ' if arrDataid.tm~=0 and arrDataid.sell~=0 then text=text..(math.floor(arrDataid.sell/arrDataid.tm*100)/100) else text=text..'-' end text=text..' 15px в час '.. ' Покупка ('..id..') Продажа ('..arrDataid.nameprod..') ' text=text..' ' if arrDataid.buy~=0 then text=text..' '..arrDataid.buy..' 15px ' else text=text..' '..arrDataid.buyagro..' 15px ' end text=text..' '..arrDataid.sell..' 15px ' if ok and arrDataid.tm~=0 then text=text..' Покупка животного окупится через '..(math.floor(arrDataid.buy/arrDataid.sell*arrDataid.tm/24*100)/100)..' дней, для этого нужно снять '..(math.floor(arrDataid.buy/arrDataid.sell*100)/100)..' урожаев. ' end text=text..' Корм для животного: ' if arrDataid.res '' then text=text..'Не требуется. Продукция производится автоматически.' else text=text..'[['..arrDataid.res..']]' end text=text..' ' text=text..' Животных можно выращивать в поле и промзоне. ' if arrDataid.location '' then text=text..' Локация Это животное можно выращивать в любой локации. ' else text=text..' '..arrDataid.location..' ' end text=text..' '.. ' Загружается на фабрики '..(require("Module:Factory").fab(arrDataid.nameprod)).. ' Выращивается в загонах ' if arrDataid.corall '' then text=text..'Загона для этого животного нет.' elseif arrDataid.yncorall 0 then text=text..'Животное можно выращивать только в [['..arrDataid.corall..'|загоне]].' else text=text..'Животное можно выращивать как в [['..arrDataid.corall..'|загоне]], так просто на земле.' end text=text..'Category:Животные'.. '[[Category:'..arrDataid.tp..']]' return text end --Список животных,которые едят корм-- function p.fab(frame) local id='' if type(frame) 'string' then id=frame elseif type(frame) 'table' then id= frame.args1 end local arrData = mw.loadData( 'Module:DataAnimal' ) local data={} local i=1 for key,v in pairs(arrData) do if v.res id then datai={name=v.name} i=i+1 end end local ok, msg = pcall(function () if data1.name nil then error() end end) local text=' Можно скормить животным: ' if ok then text=text..' ' table.sort(data,function( a, b ) return a.name < b.name end ) for i,v in ipairs(data) do text=text..' '..v.name..' ' end else text=text..'Пока никому ' end return text end --Список продукци животных-- function p.product() local text=' ' product={} local j=1 for key,v in pairs(arrData) do productj={fab=key, name=v.nameprod} j=j+1 end table.sort(product,function( a, b ) return a.name < b.name end ) for i,v in ipairs(product) do if i 1 then text=text....string.sub (v.name, 1,2)..' ' else if string.sub (producti.name, 1,2)>string.sub (producti-1.name, 1,2) then text=text..' '....string.sub (v.name, 1,2)..' ' end end text=text..' '..v.name..' ('..v.fab..') ' end text=text..' ' return text end return p